package com.jic.product.mapper;

import com.jic.product.entity.StoreInventory;
import com.jic.product.manage.request.ProductBatchUpdateRequest;
import com.jic.product.manage.request.StoreInventoryRequest;
import com.jic.product.manage.response.StoreInventoryResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 店铺库存表
 * @author :
 * @email :
 * @since : 2020-01-16 04:47:43
 * @version : v1.0.0
 */
@Mapper
public interface StoreInventoryMapper {

    long insert(StoreInventory storeInventory);

    long delete(Long id);

    long update(StoreInventory storeInventory);

    StoreInventory queryByPrimaryKey(Long id);

    List<StoreInventory> query(StoreInventory storeInventory);

    List<StoreInventoryResponse> queryPage(@Param("startIndex") int startIndex, @Param("limit") int limit, @Param("storeInventory") StoreInventoryRequest storeInventory);

    long queryPageCount(@Param("storeInventory")StoreInventoryRequest storeInventory);

    StoreInventory queryByProductId(Long productId);

    long batchUpdateProductStock(@Param("productBatchUpdateRequest") ProductBatchUpdateRequest productBatchUpdateRequest);

    Integer queryByProductIds(@Param("productIds") List<Long> productIds);

    long updateByProductId(StoreInventory storeInventory);

}
